In some of today's complex computer systems, applications are expected to leverage linked data within their domain and across different domains. Therefore, these application programs cannot only work on local data, but need query mechanisms to the distributed data. For data that is “hidden” within the different domains, (remote) queries are sometimes formulated and executed on that data. The technical systems therefore need message-based integration capabilities on middleware, or embedded integration capabilities.
However, application developers focus on complex domain problems and may not have sufficient or even any knowledge in the integration domain. Integration developers or architects are sometimes tasked to define message flows without knowing the concrete application domain. This can lead to a gap between integration and application. While integration experts are able to define or maintain already existing routes, the application developers are usually the ones who know the concrete, application-specific integration configuration. Such a situation can be found in many middleware and embedded integration solutions.
The current solutions are either to train the application developers to do the message flow definition and integration configuration themselves or to specify their requirements to the integration experts. This process can be error-prone and/or generate an overhead on the organization, especially when it comes to simple, point-to-point messaging. Even if application experts have sufficient integration knowledge, the experts sometimes do not comply with policies of the organization or best practices. For example, such failure to comply can raise issues regarding security, quality of service regulations, endpoint specifications, idempotent receiver configuration, etc.